//
//  SDKTool.m
//  sr01sdkProject
//
//  Created by  on 2022/7/5.
//

#import "CAsDKTool.h"
#import "oem_auth.h"




@implementation CAsDKTool
{
    NSArray<NSNumber *> *_nochargeVoltage;  // 放电电压
    NSArray<NSNumber *> *_nochargeBattery;  // 放电效率
    
    NSArray<NSNumber *> *_chargeVoltage;  // 充电电压
    NSArray<NSNumber *> *_chargeBattery;  // 充电效率
    
    NSDate *_lastBattDate;
    NSNumber *_lastBattery;
    BOOL _lastIsChagre;
    
}

-(instancetype)init
{
    if (self = [super init]) {
        
        [self initBatteryArray];
    }
    return self;
}
+(NSString *)macAddressFromBleAvdData:(NSDictionary *)advertisementData
{
    // mac 地址拼接
    NSString *macString = nil;
    NSData * manufacturerData = advertisementData[@"kCBAdvDataManufacturerData"];
    NSString *advertisementName = [advertisementData objectForKey:@"kCBAdvDataLocalName"];

    if (manufacturerData.length >= 4) {
        NSData *macDataLowBit = [manufacturerData subdataWithRange:NSMakeRange(0, 4)];
        
        Byte *byte = (Byte *)[macDataLowBit bytes];
        macString = [NSString  stringWithFormat:@"%.2X:%.2X:%.2X:%.2X", byte[0], byte[1], byte[2], byte[3]];
        if (advertisementName.length>=4) {
            NSString *macString_high = [advertisementName substringWithRange:NSMakeRange(advertisementName.length - 4, 4)];
            NSMutableString *mutStr = [NSMutableString stringWithString:macString_high];
            [mutStr insertString:@":" atIndex:2];
            macString = [NSString stringWithFormat:@"%@:%@", macString, mutStr];

        }
    }
    return macString;
}
-(void)initBatteryArray {
    
    // GRP170724-3.7V-16.5mAh 0.2C充放曲线
    _nochargeVoltage = @[ @(4.188), @(4.179), @(4.175), @(4.173), @(4.171), @(4.169), @(4.167), @(4.165), @(4.164), @(4.162), @(4.161), @(4.159), @(4.158), @(4.156), @(4.155), @(4.153), @(4.152), @(4.150), @(4.149), @(4.147), @(4.146), @(4.145), @(4.143), @(4.142), @(4.140), @(4.139), @(4.138), @(4.136), @(4.135), @(4.133), @(4.132), @(4.131), @(4.129), @(4.128), @(4.127), @(4.125), @(4.124), @(4.123), @(4.121), @(4.120), @(4.118), @(4.117), @(4.116), @(4.114), @(4.113), @(4.112), @(4.110), @(4.109), @(4.107), @(4.106), @(4.105), @(4.103), @(4.102), @(4.101), @(4.099), @(4.098), @(4.097), @(4.095), @(4.094), @(4.093), @(4.091), @(4.090), @(4.089), @(4.087), @(4.086), @(4.085), @(4.084), @(4.082), @(4.081), @(4.080), @(4.078), @(4.077), @(4.076), @(4.075), @(4.073), @(4.072), @(4.071), @(4.069), @(4.068), @(4.067), @(4.066), @(4.064), @(4.063), @(4.062), @(4.061), @(4.060), @(4.059), @(4.057), @(4.056), @(4.055), @(4.054), @(4.053), @(4.052), @(4.051), @(4.050), @(4.050), @(4.049), @(4.048), @(4.047), @(4.046), @(4.046), @(4.045), @(4.044), @(4.043), @(4.042), @(4.041), @(4.040), @(4.040), @(4.039), @(4.037), @(4.036), @(4.035), @(4.034), @(4.033), @(4.031), @(4.030), @(4.029), @(4.027), @(4.026), @(4.024), @(4.023), @(4.021), @(4.019), @(4.018), @(4.016), @(4.014), @(4.012), @(4.010), @(4.008), @(4.006), @(4.005), @(4.003), @(4.001), @(3.999), @(3.997), @(3.995), @(3.993), @(3.991), @(3.989), @(3.987), @(3.985), @(3.983), @(3.982), @(3.980), @(3.978), @(3.976), @(3.975), @(3.973), @(3.972), @(3.970), @(3.969), @(3.967), @(3.966), @(3.964), @(3.963), @(3.962), @(3.961), @(3.959), @(3.958), @(3.957), @(3.956), @(3.955), @(3.954), @(3.953), @(3.952), @(3.951), @(3.950), @(3.949), @(3.948), @(3.947), @(3.947), @(3.946), @(3.945), @(3.944), @(3.943), @(3.942), @(3.941), @(3.940), @(3.939), @(3.938), @(3.937), @(3.936), @(3.935), @(3.934), @(3.933), @(3.932), @(3.931), @(3.930), @(3.929), @(3.928), @(3.927), @(3.926), @(3.925), @(3.924), @(3.923), @(3.922), @(3.921), @(3.920), @(3.919), @(3.918), @(3.917), @(3.916), @(3.915), @(3.914), @(3.913), @(3.911), @(3.910), @(3.909), @(3.908), @(3.907), @(3.906), @(3.905), @(3.904), @(3.903), @(3.902), @(3.900), @(3.899), @(3.898), @(3.897), @(3.896), @(3.895), @(3.894), @(3.893), @(3.892), @(3.891), @(3.890), @(3.889), @(3.888), @(3.887), @(3.886), @(3.885), @(3.884), @(3.883), @(3.883), @(3.882), @(3.881), @(3.880), @(3.879), @(3.878), @(3.877), @(3.876), @(3.875), @(3.874), @(3.874), @(3.873), @(3.872), @(3.871), @(3.870), @(3.869), @(3.869), @(3.868), @(3.867), @(3.866), @(3.865), @(3.864), @(3.864), @(3.863), @(3.862), @(3.861), @(3.860), @(3.860), @(3.859), @(3.858), @(3.857), @(3.857), @(3.856), @(3.855), @(3.854), @(3.854), @(3.853), @(3.852), @(3.852), @(3.851), @(3.850), @(3.849), @(3.849), @(3.848), @(3.847), @(3.847), @(3.846), @(3.845), @(3.844), @(3.844), @(3.843), @(3.842), @(3.842), @(3.841), @(3.840), @(3.840), @(3.839), @(3.838), @(3.838), @(3.837), @(3.836), @(3.836), @(3.835), @(3.835), @(3.834), @(3.833), @(3.833), @(3.832), @(3.831), @(3.831), @(3.830), @(3.829), @(3.829), @(3.828), @(3.827), @(3.827), @(3.826), @(3.826), @(3.825), @(3.824), @(3.824), @(3.823), @(3.822), @(3.822), @(3.821), @(3.821), @(3.820), @(3.819), @(3.819), @(3.818), @(3.817), @(3.817), @(3.816), @(3.816), @(3.815), @(3.814), @(3.814), @(3.813), @(3.812), @(3.812), @(3.811), @(3.811), @(3.810), @(3.809), @(3.809), @(3.808), @(3.808), @(3.807), @(3.806), @(3.806), @(3.805), @(3.805), @(3.804), @(3.803), @(3.803), @(3.802), @(3.802), @(3.801), @(3.801), @(3.800), @(3.799), @(3.799), @(3.798), @(3.798), @(3.797), @(3.797), @(3.796), @(3.796), @(3.795), @(3.795), @(3.794), @(3.794), @(3.793), @(3.793), @(3.792), @(3.792), @(3.791), @(3.790), @(3.790), @(3.789), @(3.789), @(3.788), @(3.788), @(3.787), @(3.787), @(3.786), @(3.786), @(3.785), @(3.785), @(3.784), @(3.784), @(3.783), @(3.783), @(3.782), @(3.782), @(3.781), @(3.781), @(3.780), @(3.780), @(3.779), @(3.778), @(3.778), @(3.777), @(3.777), @(3.776), @(3.776), @(3.775), @(3.775), @(3.774), @(3.774), @(3.773), @(3.773), @(3.772), @(3.772), @(3.771), @(3.771), @(3.770), @(3.770), @(3.769), @(3.769), @(3.768), @(3.768), @(3.767), @(3.766), @(3.766), @(3.765), @(3.765), @(3.764), @(3.764), @(3.763), @(3.763), @(3.762), @(3.762), @(3.761), @(3.761), @(3.760), @(3.760), @(3.759), @(3.758), @(3.758), @(3.757), @(3.757), @(3.756), @(3.756), @(3.755), @(3.755), @(3.754), @(3.753), @(3.753), @(3.752), @(3.752), @(3.751), @(3.751), @(3.750), @(3.749), @(3.749), @(3.748), @(3.748), @(3.747), @(3.746), @(3.746), @(3.745), @(3.745), @(3.744), @(3.744), @(3.743), @(3.742), @(3.742), @(3.741), @(3.741), @(3.740), @(3.740), @(3.739), @(3.738), @(3.738), @(3.737), @(3.737), @(3.736), @(3.736), @(3.735), @(3.734), @(3.734), @(3.733), @(3.733), @(3.732), @(3.732), @(3.731), @(3.731), @(3.730), @(3.730), @(3.729), @(3.729), @(3.728), @(3.727), @(3.727), @(3.726), @(3.726), @(3.725), @(3.725), @(3.724), @(3.723), @(3.723), @(3.722), @(3.722), @(3.721), @(3.720), @(3.720), @(3.719), @(3.718), @(3.718), @(3.717), @(3.716), @(3.716), @(3.715), @(3.714), @(3.714), @(3.713), @(3.712), @(3.711), @(3.711), @(3.710), @(3.709), @(3.709), @(3.708), @(3.707), @(3.706), @(3.706), @(3.705), @(3.704), @(3.704), @(3.703), @(3.702), @(3.702), @(3.701), @(3.700), @(3.700), @(3.699), @(3.698), @(3.697), @(3.697), @(3.696), @(3.695), @(3.694), @(3.694), @(3.693), @(3.692), @(3.691), @(3.690), @(3.689), @(3.689), @(3.688), @(3.687), @(3.686), @(3.685), @(3.684), @(3.683), @(3.682), @(3.681), @(3.680), @(3.679), @(3.679), @(3.678), @(3.678), @(3.677), @(3.677), @(3.676), @(3.676), @(3.676), @(3.675), @(3.675), @(3.675), @(3.674), @(3.674), @(3.674), @(3.674), @(3.673), @(3.673), @(3.673), @(3.673), @(3.672), @(3.672), @(3.672), @(3.671), @(3.671), @(3.671), @(3.671), @(3.670), @(3.670), @(3.670), @(3.669), @(3.669), @(3.669), @(3.669), @(3.668), @(3.668), @(3.667), @(3.667), @(3.667), @(3.666), @(3.666), @(3.665), @(3.665), @(3.664), @(3.664), @(3.663), @(3.663), @(3.662), @(3.661), @(3.660), @(3.660), @(3.658), @(3.657), @(3.656), @(3.655), @(3.653), @(3.651), @(3.649), @(3.646), @(3.643), @(3.640), @(3.637), @(3.633), @(3.629), @(3.625), @(3.621), @(3.617), @(3.612), @(3.608), @(3.603), @(3.599), @(3.594), @(3.589), @(3.584), @(3.579), @(3.574), @(3.569), @(3.563), @(3.558), @(3.552), @(3.547), @(3.541), @(3.535), @(3.529), @(3.522), @(3.516), @(3.509), @(3.503), @(3.496), @(3.489), @(3.481), @(3.474), @(3.466), @(3.458), @(3.450), @(3.442), @(3.433), @(3.424), @(3.415), @(3.405), @(3.396), @(3.385), @(3.375), @(3.363), @(3.352), @(3.339), @(3.326), @(3.313), @(3.299), @(3.283), @(3.267), @(3.249), @(3.230), @(3.209), @(3.185), @(3.157), @(3.121), @(3.079), @(3.028), @(3.000 ),];
    
    _nochargeBattery = @[@(100.00), @(99.85), @(99.70), @(99.55), @(99.41), @(99.26), @(99.11), @(98.96), @(98.81), @(98.66), @(98.51), @(98.36), @(98.21), @(98.06), @(97.91), @(97.76), @(97.61), @(97.47), @(97.32), @(97.17), @(97.02), @(96.87), @(96.72), @(96.57), @(96.42), @(96.27), @(96.12), @(95.97), @(95.82), @(95.67), @(95.52), @(95.38), @(95.23), @(95.08), @(94.93), @(94.78), @(94.63), @(94.48), @(94.33), @(94.18), @(94.03), @(93.88), @(93.73), @(93.58), @(93.44), @(93.29), @(93.14), @(92.99), @(92.84), @(92.69), @(92.54), @(92.40), @(92.25), @(92.10), @(91.95), @(91.80), @(91.65), @(91.50), @(91.35), @(91.20), @(91.05), @(90.90), @(90.75), @(90.60), @(90.46), @(90.31), @(90.16), @(90.01), @(89.86), @(89.71), @(89.56), @(89.41), @(89.26), @(89.11), @(88.96), @(88.81), @(88.66), @(88.51), @(88.37), @(88.22), @(88.07), @(87.92), @(87.77), @(87.62), @(87.47), @(87.32), @(87.17), @(87.02), @(86.87), @(86.72), @(86.57), @(86.42), @(86.28), @(86.13), @(85.98), @(85.83), @(85.68), @(85.53), @(85.39), @(85.24), @(85.09), @(84.94), @(84.79), @(84.64), @(84.49), @(84.34), @(84.19), @(84.04), @(83.89), @(83.74), @(83.59), @(83.44), @(83.30), @(83.15), @(83.00), @(82.85), @(82.70), @(82.55), @(82.40), @(82.25), @(82.10), @(81.95), @(81.80), @(81.65), @(81.50), @(81.35), @(81.21), @(81.06), @(80.91), @(80.76), @(80.61), @(80.46), @(80.31), @(80.16), @(80.01), @(79.86), @(79.71), @(79.56), @(79.42), @(79.27), @(79.12), @(78.97), @(78.82), @(78.67), @(78.52), @(78.37), @(78.23), @(78.08), @(77.93), @(77.78), @(77.63), @(77.48), @(77.33), @(77.18), @(77.03), @(76.88), @(76.73), @(76.58), @(76.43), @(76.28), @(76.14), @(75.99), @(75.84), @(75.69), @(75.54), @(75.39), @(75.24), @(75.09), @(74.94), @(74.79), @(74.64), @(74.49), @(74.34), @(74.20), @(74.05), @(73.90), @(73.75), @(73.60), @(73.45), @(73.30), @(73.15), @(73.00), @(72.85), @(72.70), @(72.55), @(72.41), @(72.26), @(72.11), @(71.96), @(71.81), @(71.66), @(71.51), @(71.36), @(71.21), @(71.07), @(70.92), @(70.77), @(70.62), @(70.47), @(70.32), @(70.17), @(70.02), @(69.87), @(69.72), @(69.57), @(69.42), @(69.27), @(69.13), @(68.98), @(68.83), @(68.68), @(68.53), @(68.38), @(68.23), @(68.08), @(67.93), @(67.78), @(67.63), @(67.48), @(67.33), @(67.18), @(67.04), @(66.89), @(66.74), @(66.59), @(66.44), @(66.29), @(66.14), @(65.99), @(65.84), @(65.69), @(65.55), @(65.40), @(65.25), @(65.10), @(64.95), @(64.80), @(64.65), @(64.50), @(64.35), @(64.20), @(64.06), @(63.91), @(63.76), @(63.61), @(63.46), @(63.31), @(63.16), @(63.01), @(62.86), @(62.71), @(62.56), @(62.41), @(62.26), @(62.11), @(61.97), @(61.82), @(61.67), @(61.52), @(61.37), @(61.22), @(61.07), @(60.92), @(60.77), @(60.62), @(60.47), @(60.32), @(60.17), @(60.03), @(59.88), @(59.73), @(59.58), @(59.43), @(59.28), @(59.13), @(58.98), @(58.83), @(58.69), @(58.54), @(58.39), @(58.24), @(58.09), @(57.94), @(57.79), @(57.64), @(57.49), @(57.34), @(57.19), @(57.04), @(56.90), @(56.75), @(56.60), @(56.45), @(56.30), @(56.15), @(56.00), @(55.85), @(55.70), @(55.55), @(55.40), @(55.25), @(55.10), @(54.96), @(54.81), @(54.66), @(54.51), @(54.36), @(54.21), @(54.06), @(53.91), @(53.76), @(53.61), @(53.46), @(53.31), @(53.16), @(53.01), @(52.87), @(52.72), @(52.57), @(52.42), @(52.27), @(52.12), @(51.97), @(51.82), @(51.68), @(51.53), @(51.38), @(51.23), @(51.08), @(50.93), @(50.78), @(50.63), @(50.48), @(50.33), @(50.18), @(50.03), @(49.89), @(49.74), @(49.59), @(49.44), @(49.29), @(49.14), @(48.99), @(48.84), @(48.69), @(48.54), @(48.39), @(48.24), @(48.09), @(47.94), @(47.80), @(47.65), @(47.50), @(47.35), @(47.20), @(47.05), @(46.90), @(46.75), @(46.60), @(46.45), @(46.30), @(46.15), @(46.00), @(45.85), @(45.71), @(45.56), @(45.41), @(45.26), @(45.11), @(44.96), @(44.82), @(44.67), @(44.52), @(44.37), @(44.22), @(44.07), @(43.92), @(43.77), @(43.62), @(43.47), @(43.32), @(43.17), @(43.02), @(42.87), @(42.73), @(42.58), @(42.43), @(42.28), @(42.13), @(41.98), @(41.83), @(41.68), @(41.53), @(41.38), @(41.23), @(41.08), @(40.93), @(40.79), @(40.64), @(40.49), @(40.34), @(40.19), @(40.04), @(39.89), @(39.74), @(39.59), @(39.44), @(39.29), @(39.14), @(38.99), @(38.84), @(38.70), @(38.55), @(38.40), @(38.25), @(38.10), @(37.95), @(37.80), @(37.66), @(37.51), @(37.36), @(37.21), @(37.06), @(36.91), @(36.76), @(36.61), @(36.46), @(36.31), @(36.16), @(36.01), @(35.86), @(35.72), @(35.57), @(35.42), @(35.27), @(35.12), @(34.97), @(34.82), @(34.67), @(34.52), @(34.37), @(34.22), @(34.07), @(33.92), @(33.77), @(33.63), @(33.48), @(33.33), @(33.18), @(33.03), @(32.88), @(32.73), @(32.58), @(32.43), @(32.28), @(32.13), @(31.98), @(31.83), @(31.69), @(31.54), @(31.39), @(31.24), @(31.09), @(30.94), @(30.79), @(30.65), @(30.50), @(30.35), @(30.20), @(30.05), @(29.90), @(29.75), @(29.60), @(29.45), @(29.30), @(29.15), @(29.00), @(28.85), @(28.71), @(28.56), @(28.41), @(28.26), @(28.11), @(27.96), @(27.81), @(27.66), @(27.51), @(27.36), @(27.21), @(27.06), @(26.91), @(26.76), @(26.62), @(26.47), @(26.32), @(26.17), @(26.02), @(25.87), @(25.72), @(25.57), @(25.42), @(25.27), @(25.12), @(24.97), @(24.82), @(24.68), @(24.53), @(24.38), @(24.23), @(24.08), @(23.93), @(23.78), @(23.64), @(23.49), @(23.34), @(23.19), @(23.04), @(22.89), @(22.74), @(22.59), @(22.44), @(22.29), @(22.14), @(21.99), @(21.84), @(21.70), @(21.55), @(21.40), @(21.25), @(21.10), @(20.95), @(20.80), @(20.65), @(20.50), @(20.35), @(20.20), @(20.05), @(19.90), @(19.75), @(19.61), @(19.46), @(19.31), @(19.16), @(19.01), @(18.86), @(18.71), @(18.56), @(18.41), @(18.26), @(18.11), @(17.96), @(17.81), @(17.66), @(17.52), @(17.37), @(17.22), @(17.07), @(16.92), @(16.77), @(16.63), @(16.48), @(16.33), @(16.18), @(16.03), @(15.88), @(15.73), @(15.58), @(15.43), @(15.28), @(15.13), @(14.98), @(14.83), @(14.68), @(14.54), @(14.39), @(14.24), @(14.09), @(13.94), @(13.79), @(13.64), @(13.49), @(13.34), @(13.19), @(13.04), @(12.89), @(12.74), @(12.60), @(12.45), @(12.30), @(12.15), @(12.00), @(11.85), @(11.70), @(11.55), @(11.40), @(11.25), @(11.10), @(10.95), @(10.80), @(10.66), @(10.51), @(10.36), @(10.21), @(10.06), @(9.91), @(9.76), @(9.61), @(9.47), @(9.32), @(9.17), @(9.02), @(8.87), @(8.72), @(8.57), @(8.42), @(8.27), @(8.12), @(7.97), @(7.82), @(7.67), @(7.53), @(7.38), @(7.23), @(7.08), @(6.93), @(6.78), @(6.63), @(6.48), @(6.33), @(6.18), @(6.03), @(5.88), @(5.73), @(5.58), @(5.44), @(5.29), @(5.14), @(4.99), @(4.84), @(4.69), @(4.54), @(4.39), @(4.24), @(4.09), @(3.94), @(3.80), @(3.65), @(3.50), @(3.35), @(3.20), @(3.05), @(2.90), @(2.75), @(2.60), @(2.46), @(2.31), @(2.16), @(2.01), @(1.86), @(1.71), @(1.56), @(1.41), @(1.26), @(1.11), @(0.96), @(0.81), @(0.66), @(0.52), @(0.37), @(0.22), @(0.07), @(0.00),];
    
    _chargeVoltage = @[ @(3.233), @(3.309), @(3.347), @(3.376), @(3.401), @(3.423), @(3.442), @(3.460), @(3.475), @(3.490), @(3.504), @(3.516), @(3.528), @(3.539), @(3.550), @(3.560), @(3.569), @(3.578), @(3.587), @(3.595), @(3.603), @(3.610), @(3.617), @(3.624), @(3.631), @(3.638), @(3.644), @(3.650), @(3.656), @(3.661), @(3.667), @(3.672), @(3.677), @(3.682), @(3.686), @(3.691), @(3.695), @(3.699), @(3.703), @(3.707), @(3.710), @(3.713), @(3.715), @(3.716), @(3.718), @(3.719), @(3.719), @(3.720), @(3.720), @(3.721), @(3.721), @(3.722), @(3.722), @(3.722), @(3.723), @(3.723), @(3.723), @(3.723), @(3.724), @(3.724), @(3.724), @(3.724), @(3.725), @(3.725), @(3.725), @(3.725), @(3.726), @(3.726), @(3.726), @(3.726), @(3.727), @(3.727), @(3.727), @(3.728), @(3.728), @(3.728), @(3.729), @(3.729), @(3.729), @(3.730), @(3.730), @(3.731), @(3.731), @(3.732), @(3.732), @(3.733), @(3.733), @(3.734), @(3.734), @(3.735), @(3.735), @(3.736), @(3.737), @(3.737), @(3.738), @(3.739), @(3.739), @(3.740), @(3.741), @(3.742), @(3.742), @(3.743), @(3.744), @(3.745), @(3.746), @(3.747), @(3.747), @(3.748), @(3.749), @(3.750), @(3.751), @(3.752), @(3.753), @(3.754), @(3.755), @(3.756), @(3.757), @(3.758), @(3.759), @(3.759), @(3.760), @(3.761), @(3.762), @(3.763), @(3.764), @(3.765), @(3.766), @(3.767), @(3.768), @(3.768), @(3.769), @(3.770), @(3.771), @(3.772), @(3.773), @(3.774), @(3.775), @(3.775), @(3.776), @(3.777), @(3.778), @(3.779), @(3.779), @(3.780), @(3.781), @(3.782), @(3.782), @(3.783), @(3.784), @(3.784), @(3.785), @(3.786), @(3.786), @(3.787), @(3.788), @(3.789), @(3.789), @(3.790), @(3.791), @(3.791), @(3.792), @(3.793), @(3.794), @(3.795), @(3.795), @(3.796), @(3.797), @(3.798), @(3.798), @(3.799), @(3.800), @(3.801), @(3.801), @(3.802), @(3.803), @(3.804), @(3.804), @(3.805), @(3.806), @(3.806), @(3.807), @(3.808), @(3.808), @(3.809), @(3.809), @(3.810), @(3.811), @(3.811), @(3.812), @(3.812), @(3.812), @(3.813), @(3.813), @(3.814), @(3.814), @(3.815), @(3.815), @(3.816), @(3.816), @(3.816), @(3.817), @(3.817), @(3.818), @(3.818), @(3.818), @(3.819), @(3.819), @(3.820), @(3.820), @(3.820), @(3.821), @(3.821), @(3.821), @(3.822), @(3.822), @(3.822), @(3.823), @(3.823), @(3.823), @(3.824), @(3.824), @(3.824), @(3.824), @(3.825), @(3.825), @(3.825), @(3.826), @(3.826), @(3.826), @(3.826), @(3.827), @(3.827), @(3.827), @(3.828), @(3.828), @(3.828), @(3.829), @(3.829), @(3.829), @(3.830), @(3.830), @(3.830), @(3.831), @(3.831), @(3.831), @(3.832), @(3.832), @(3.832), @(3.833), @(3.833), @(3.833), @(3.834), @(3.834), @(3.834), @(3.835), @(3.835), @(3.835), @(3.836), @(3.836), @(3.836), @(3.837), @(3.837), @(3.837), @(3.838), @(3.838), @(3.839), @(3.839), @(3.839), @(3.840), @(3.840), @(3.840), @(3.841), @(3.841), @(3.841), @(3.842), @(3.842), @(3.843), @(3.843), @(3.843), @(3.844), @(3.844), @(3.845), @(3.845), @(3.845), @(3.846), @(3.846), @(3.847), @(3.847), @(3.848), @(3.848), @(3.848), @(3.849), @(3.849), @(3.850), @(3.850), @(3.850), @(3.851), @(3.851), @(3.852), @(3.852), @(3.853), @(3.853), @(3.854), @(3.854), @(3.855), @(3.855), @(3.855), @(3.856), @(3.856), @(3.857), @(3.857), @(3.858), @(3.858), @(3.859), @(3.859), @(3.860), @(3.860), @(3.861), @(3.861), @(3.862), @(3.862), @(3.863), @(3.863), @(3.864), @(3.864), @(3.865), @(3.865), @(3.866), @(3.866), @(3.867), @(3.867), @(3.868), @(3.868), @(3.869), @(3.869), @(3.870), @(3.871), @(3.871), @(3.872), @(3.872), @(3.873), @(3.873), @(3.874), @(3.875), @(3.875), @(3.876), @(3.876), @(3.877), @(3.878), @(3.878), @(3.879), @(3.879), @(3.880), @(3.881), @(3.881), @(3.882), @(3.883), @(3.883), @(3.884), @(3.884), @(3.885), @(3.886), @(3.886), @(3.887), @(3.888), @(3.888), @(3.889), @(3.890), @(3.890), @(3.891), @(3.892), @(3.892), @(3.893), @(3.894), @(3.895), @(3.895), @(3.896), @(3.897), @(3.897), @(3.898), @(3.899), @(3.899), @(3.900), @(3.901), @(3.902), @(3.902), @(3.903), @(3.904), @(3.905), @(3.905), @(3.906), @(3.907), @(3.908), @(3.909), @(3.909), @(3.910), @(3.911), @(3.912), @(3.913), @(3.914), @(3.914), @(3.915), @(3.916), @(3.917), @(3.918), @(3.919), @(3.920), @(3.920), @(3.921), @(3.922), @(3.923), @(3.924), @(3.925), @(3.926), @(3.927), @(3.928), @(3.929), @(3.930), @(3.931), @(3.932), @(3.933), @(3.934), @(3.934), @(3.935), @(3.936), @(3.937), @(3.938), @(3.939), @(3.940), @(3.941), @(3.943), @(3.944), @(3.945), @(3.946), @(3.947), @(3.948), @(3.949), @(3.950), @(3.951), @(3.952), @(3.953), @(3.954), @(3.955), @(3.956), @(3.958), @(3.959), @(3.960), @(3.961), @(3.962), @(3.963), @(3.964), @(3.965), @(3.966), @(3.968), @(3.969), @(3.970), @(3.971), @(3.972), @(3.973), @(3.974), @(3.975), @(3.976), @(3.977), @(3.978), @(3.979), @(3.980), @(3.981), @(3.982), @(3.983), @(3.984), @(3.985), @(3.986), @(3.987), @(3.988), @(3.989), @(3.990), @(3.991), @(3.992), @(3.993), @(3.994), @(3.994), @(3.995), @(3.996), @(3.997), @(3.998), @(3.999), @(4.000), @(4.000), @(4.001), @(4.002), @(4.003), @(4.003), @(4.004), @(4.005), @(4.005), @(4.006), @(4.007), @(4.007), @(4.008), @(4.009), @(4.009), @(4.010), @(4.010), @(4.011), @(4.012), @(4.012), @(4.013), @(4.013), @(4.014), @(4.015), @(4.015), @(4.016), @(4.016), @(4.017), @(4.018), @(4.019), @(4.020), @(4.020), @(4.021), @(4.022), @(4.023), @(4.024), @(4.025), @(4.026), @(4.027), @(4.029), @(4.030), @(4.031), @(4.032), @(4.034), @(4.035), @(4.037), @(4.038), @(4.040), @(4.041), @(4.043), @(4.045), @(4.047), @(4.048), @(4.050), @(4.052), @(4.054), @(4.057), @(4.059), @(4.061), @(4.063), @(4.065), @(4.068), @(4.070), @(4.072), @(4.074), @(4.077), @(4.079), @(4.081), @(4.083), @(4.085), @(4.087), @(4.089), @(4.090), @(4.092), @(4.094), @(4.095), @(4.097), @(4.098), @(4.100), @(4.101), @(4.102), @(4.103), @(4.104), @(4.105), @(4.106), @(4.107), @(4.107), @(4.108), @(4.109), @(4.109), @(4.110), @(4.111), @(4.111), @(4.112), @(4.113), @(4.113), @(4.114), @(4.115), @(4.116), @(4.116), @(4.117), @(4.118), @(4.119), @(4.120), @(4.121), @(4.122), @(4.123), @(4.124), @(4.125), @(4.126), @(4.127), @(4.128), @(4.129), @(4.130), @(4.131), @(4.132), @(4.133), @(4.134), @(4.135), @(4.137), @(4.138), @(4.139), @(4.140), @(4.141), @(4.142), @(4.143), @(4.145), @(4.146), @(4.147), @(4.148), @(4.149), @(4.151), @(4.152), @(4.153), @(4.154), @(4.156), @(4.157), @(4.158), @(4.159), @(4.160), @(4.162), @(4.163), @(4.164), @(4.165), @(4.167), @(4.168), @(4.169), @(4.170), @(4.172), @(4.173), @(4.174), @(4.175), @(4.177), @(4.178), @(4.179), @(4.180), @(4.182), @(4.183), @(4.184), @(4.185), @(4.187), @(4.188), @(4.189), @(4.191), @(4.192), @(4.193), @(4.194), @(4.196), @(4.197), @(4.198), @(4.199), @(4.200),
    ];
    
    _chargeBattery = @[ @(0.00), @(0.15), @(0.30), @(0.45), @(0.59), @(0.74), @(0.89), @(1.04), @(1.18), @(1.33), @(1.48), @(1.63), @(1.77), @(1.92), @(2.07), @(2.22), @(2.37), @(2.52), @(2.66), @(2.81), @(2.96), @(3.11), @(3.26), @(3.40), @(3.55), @(3.70), @(3.85), @(3.99), @(4.14), @(4.29), @(4.44), @(4.59), @(4.74), @(4.88), @(5.03), @(5.18), @(5.33), @(5.48), @(5.62), @(5.77), @(5.92), @(6.07), @(6.21), @(6.36), @(6.51), @(6.66), @(6.81), @(6.95), @(7.10), @(7.25), @(7.40), @(7.55), @(7.70), @(7.85), @(7.99), @(8.14), @(8.29), @(8.43), @(8.58), @(8.73), @(8.88), @(9.02), @(9.17), @(9.32), @(9.47), @(9.62), @(9.77), @(9.92), @(10.06), @(10.21), @(10.36), @(10.51), @(10.66), @(10.80), @(10.95), @(11.10), @(11.24), @(11.39), @(11.54), @(11.69), @(11.84), @(11.99), @(12.14), @(12.28), @(12.43), @(12.58), @(12.73), @(12.88), @(13.02), @(13.17), @(13.32), @(13.47), @(13.61), @(13.76), @(13.91), @(14.06), @(14.21), @(14.35), @(14.50), @(14.65), @(14.80), @(14.95), @(15.10), @(15.24), @(15.39), @(15.54), @(15.69), @(15.83), @(15.98), @(16.13), @(16.28), @(16.42), @(16.57), @(16.72), @(16.87), @(17.02), @(17.17), @(17.32), @(17.46), @(17.61), @(17.76), @(17.91), @(18.05), @(18.20), @(18.35), @(18.50), @(18.64), @(18.79), @(18.94), @(19.09), @(19.24), @(19.39), @(19.53), @(19.68), @(19.83), @(19.98), @(20.13), @(20.27), @(20.42), @(20.57), @(20.72), @(20.86), @(21.01), @(21.16), @(21.31), @(21.46), @(21.61), @(21.75), @(21.90), @(22.05), @(22.20), @(22.35), @(22.49), @(22.64), @(22.79), @(22.94), @(23.08), @(23.23), @(23.38), @(23.53), @(23.68), @(23.82), @(23.97), @(24.12), @(24.27), @(24.42), @(24.57), @(24.71), @(24.86), @(25.01), @(25.16), @(25.30), @(25.45), @(25.60), @(25.75), @(25.89), @(26.04), @(26.19), @(26.34), @(26.49), @(26.64), @(26.79), @(26.93), @(27.08), @(27.23), @(27.38), @(27.52), @(27.67), @(27.82), @(27.97), @(28.11), @(28.26), @(28.41), @(28.56), @(28.71), @(28.86), @(29.00), @(29.15), @(29.30), @(29.45), @(29.60), @(29.74), @(29.89), @(30.04), @(30.19), @(30.33), @(30.48), @(30.63), @(30.78), @(30.93), @(31.07), @(31.22), @(31.37), @(31.52), @(31.67), @(31.82), @(31.97), @(32.11), @(32.26), @(32.41), @(32.55), @(32.70), @(32.85), @(33.00), @(33.14), @(33.29), @(33.44), @(33.59), @(33.74), @(33.89), @(34.04), @(34.19), @(34.33), @(34.48), @(34.63), @(34.78), @(34.92), @(35.07), @(35.22), @(35.36), @(35.51), @(35.66), @(35.81), @(35.96), @(36.11), @(36.26), @(36.40), @(36.55), @(36.70), @(36.85), @(37.00), @(37.14), @(37.29), @(37.44), @(37.59), @(37.73), @(37.88), @(38.03), @(38.18), @(38.33), @(38.47), @(38.62), @(38.77), @(38.92), @(39.07), @(39.22), @(39.36), @(39.51), @(39.66), @(39.81), @(39.95), @(40.10), @(40.25), @(40.40), @(40.54), @(40.69), @(40.84), @(40.99), @(41.14), @(41.29), @(41.44), @(41.58), @(41.73), @(41.88), @(42.03), @(42.17), @(42.32), @(42.47), @(42.62), @(42.76), @(42.91), @(43.06), @(43.21), @(43.36), @(43.51), @(43.65), @(43.80), @(43.95), @(44.10), @(44.25), @(44.39), @(44.54), @(44.69), @(44.84), @(44.98), @(45.13), @(45.28), @(45.43), @(45.57), @(45.72), @(45.87), @(46.02), @(46.17), @(46.32), @(46.47), @(46.61), @(46.76), @(46.91), @(47.06), @(47.20), @(47.35), @(47.50), @(47.65), @(47.79), @(47.94), @(48.09), @(48.24), @(48.39), @(48.54), @(48.68), @(48.83), @(48.98), @(49.13), @(49.28), @(49.42), @(49.57), @(49.72), @(49.87), @(50.01), @(50.16), @(50.31), @(50.46), @(50.61), @(50.75), @(50.90), @(51.05), @(51.20), @(51.35), @(51.50), @(51.64), @(51.79), @(51.94), @(52.09), @(52.23), @(52.38), @(52.53), @(52.68), @(52.82), @(52.97), @(53.12), @(53.27), @(53.42), @(53.57), @(53.72), @(53.86), @(54.01), @(54.16), @(54.31), @(54.45), @(54.60), @(54.75), @(54.90), @(55.04), @(55.19), @(55.34), @(55.49), @(55.64), @(55.79), @(55.93), @(56.08), @(56.23), @(56.38), @(56.53), @(56.67), @(56.82), @(56.97), @(57.12), @(57.26), @(57.41), @(57.56), @(57.71), @(57.85), @(58.00), @(58.15), @(58.30), @(58.45), @(58.60), @(58.75), @(58.89), @(59.04), @(59.19), @(59.34), @(59.48), @(59.63), @(59.78), @(59.93), @(60.07), @(60.22), @(60.37), @(60.52), @(60.67), @(60.82), @(60.96), @(61.11), @(61.26), @(61.41), @(61.56), @(61.71), @(61.85), @(62.00), @(62.15), @(62.30), @(62.44), @(62.59), @(62.74), @(62.88), @(63.03), @(63.18), @(63.33), @(63.48), @(63.63), @(63.78), @(63.92), @(64.07), @(64.22), @(64.37), @(64.52), @(64.66), @(64.81), @(64.96), @(65.11), @(65.25), @(65.40), @(65.55), @(65.70), @(65.84), @(65.99), @(66.14), @(66.29), @(66.44), @(66.59), @(66.73), @(66.88), @(67.03), @(67.18), @(67.33), @(67.47), @(67.62), @(67.77), @(67.92), @(68.06), @(68.21), @(68.36), @(68.51), @(68.65), @(68.80), @(68.95), @(69.10), @(69.25), @(69.40), @(69.55), @(69.69), @(69.84), @(69.99), @(70.14), @(70.28), @(70.43), @(70.58), @(70.73), @(70.87), @(71.02), @(71.17), @(71.32), @(71.47), @(71.61), @(71.76), @(71.91), @(72.06), @(72.21), @(72.36), @(72.50), @(72.65), @(72.80), @(72.95), @(73.09), @(73.24), @(73.39), @(73.54), @(73.68), @(73.83), @(73.98), @(74.13), @(74.27), @(74.42), @(74.57), @(74.72), @(74.87), @(75.02), @(75.17), @(75.31), @(75.46), @(75.61), @(75.76), @(75.90), @(76.05), @(76.20), @(76.35), @(76.49), @(76.64), @(76.79), @(76.94), @(77.08), @(77.23), @(77.38), @(77.53), @(77.68), @(77.83), @(77.97), @(78.12), @(78.27), @(78.42), @(78.57), @(78.71), @(78.86), @(79.01), @(79.16), @(79.30), @(79.45), @(79.60), @(79.74), @(79.89), @(80.04), @(80.19), @(80.34), @(80.48), @(80.63), @(80.78), @(80.93), @(81.08), @(81.23), @(81.37), @(81.52), @(81.67), @(81.82), @(81.97), @(82.11), @(82.26), @(82.41), @(82.55), @(82.70), @(82.85), @(83.00), @(83.14), @(83.29), @(83.44), @(83.59), @(83.73), @(83.88), @(84.03), @(84.18), @(84.33), @(84.47), @(84.62), @(84.77), @(84.92), @(85.07), @(85.21), @(85.36), @(85.51), @(85.66), @(85.81), @(85.95), @(86.10), @(86.25), @(86.40), @(86.54), @(86.69), @(86.84), @(86.99), @(87.13), @(87.28), @(87.43), @(87.58), @(87.72), @(87.87), @(88.02), @(88.17), @(88.31), @(88.46), @(88.61), @(88.76), @(88.90), @(89.05), @(89.20), @(89.35), @(89.49), @(89.64), @(89.79), @(89.94), @(90.09), @(90.23), @(90.38), @(90.53), @(90.68), @(90.82), @(90.97), @(91.12), @(91.27), @(91.42), @(91.56), @(91.71), @(91.86), @(92.01), @(92.15), @(92.30), @(92.45), @(92.60), @(92.74), @(92.89), @(93.04), @(93.19), @(93.33), @(93.48), @(93.63), @(93.78), @(93.92), @(94.07), @(94.22), @(94.37), @(94.51), @(94.66), @(94.81), @(94.96), @(95.10), @(95.25), @(95.40), @(95.55), @(95.69), @(95.84), @(95.99), @(96.14), @(96.28), @(96.43), @(96.58), @(96.72), @(96.87), @(97.02), @(100.00),
    ];
    
}

-(NSNumber *)voltageToBattery:(float)voltage IsCharge:(BOOL)ischage IsWireness:(BOOL)isWireless
{
//    if (!isWireless) //有线
//    {
//        if (ischage) {
//            voltage -= 100;
//        }
//        if (voltage >= 4130) {
//            return @(100);
//        }
//    }
  
    NSNumber *noRes = nil;
//    DebugNSLog(@"上次 %d  现在充电 %d", self.lastChargeState, ischage);
    // 从充到放
//    if (self.lastChargeState == CHARGE && !ischage) {
//        voltage -= 10;
//    }
//
//    if (self.lastChargeState == NO_CHARGE && ischage) {
//        voltage += 60;
//    }
    
//    self.lastChargeState = ischage ? CHARGE : NO_CHARGE;
    
  
    if(isWireless || (!isWireless && !ischage) ) {
        int idx = -1; // 放电曲线
        for (int i = 0; i < _nochargeVoltage.count; i++) {
            if (voltage >= _nochargeVoltage[i].floatValue * 1000) {
                idx = i;
                break;
            }
        }
        if (idx >= 0 && idx < _nochargeBattery.count -1) {
            float roundVal = round(_nochargeBattery[idx].floatValue);
            noRes = @(roundVal);
        } else {
            noRes = @(0);

        }
        
    }
    
    if (ischage && !isWireless) {
        if (voltage >= 4199) {
            noRes = @(100);
        }
        else
        {
            if(_lastBattDate) {
                voltage -= 60;
            }
            int idx = -1; // 充电曲线
            for (int i = 0; i < _chargeVoltage.count; i++) {
                if (voltage <= _chargeVoltage[i].floatValue * 1000) {
                    idx = i;
                    break;
                }
            }
            if (idx >= 0 && idx < _chargeBattery.count -1) {
                float roundVal = round(_chargeBattery[idx].floatValue);
                noRes = @(roundVal);
            } else {
                noRes = @(100);
            }
        }
       

    }
    
//    if (!_lastBattDate) {
//        _lastBattDate = [NSDate date];
//        _lastBattery = noRes;
//        return _lastBattery;
//    }
    if (_lastIsChagre != ischage && _lastBattDate) {
        _lastBattDate = [NSDate date];
        _lastIsChagre = ischage;
    }
   
    if (!_lastBattDate || [[NSDate date] timeIntervalSinceDate:_lastBattDate] >= 60 *3) {
        _lastBattDate = [NSDate date];
        _lastBattery = noRes;
        return _lastBattery;
    } else {
        return _lastBattery;
    }
    
    
    return noRes;
    
}

-(void)reset
{
//    self.lastChargeState = NONE;
}

//-(NSNumber *)voltageToBattery:(float)voltage IsCharge:(BOOL)ischage IsWireness:(BOOL)isWireless
//{
//    if (!isWireless) //有线
//    {
//        if (ischage) {
//            voltage -= 100;
//        }
//        if (voltage >= 4130) {
//            return @(100);
//        }
//    }
//
//    NSNumber *noRes = nil;
//
////    if(!ischage) {
//    int idx = -1;
//    for (int i = 0; i < _nochargeVoltage.count; i++) {
//        if (voltage >= _nochargeVoltage[i].floatValue * 1000) {
//            idx = i;
//            break;
//        }
//    }
//    if (idx >= 0 && idx < _nochargeBattery.count -1) {
//        return _nochargeBattery[idx];
//    }
//
//    noRes = @(0);
////    }
//
////    if (ischage) {
////        int idx = -1;
////        for (int i = 0; i < _chargeVoltage.count; i++) {
////            if (voltage <= _chargeVoltage[i].floatValue * 1000) {
////                idx = i;
////                break;
////            }
////        }
////        if (idx >= 0 && idx < _chargeBattery.count -1) {
////            return _chargeBattery[idx];
////        }
////        noRes = @(100);
////
////    }
//
//    return noRes;
//
//}

/// 电压转电量
/// @param battery
+(int)toBatteryLevel:(NSInteger)battery IsCharge:(int)isCharge IsWireness:(BOOL)isWireness
{
    if (!isWireness) { // 有线充电
        battery -= 100;
        if (battery >= 4130) {
            return 100;
        }
    }
    
    
    // 没充电
    if (battery >= 4171) {
        return  100;
    } else if (battery >= 4156) {
        return  99;
    } else if (battery >= 4146) {
        return  98;
    } else if (battery >= 4135) {
        return  97;
    } else if (battery >= 4126) {
        return   96;
    } else if (battery >= 4116) {
        return  95;
    } else if (battery >= 4108) {
        return   94;
    } else if (battery >= 4098) {
        return   93;
    } else if (battery >= 4049) {
        return  92;
    } else if (battery >= 4089) {
        return   91;
    } else if (battery >= 4081) {
        return  90;
    } else if (battery >= 4022) {
        return  89;
    } else if (battery >= 4014) {
        return   88;
    } else if (battery >= 4007) {
        return   87;
    } else if (battery >= 3999) {
        return  86;
    } else if (battery >= 3990) {
        return  85;
    } else if (battery >= 3981) {
        return   84;
    } else if (battery >= 3970) {
        return  83;
    } else if (battery >= 3959) {
        return  82;
    } else if (battery >= 3947) {
        return  81;
    } else if (battery >= 3936) {
        return   80;
    } else if (battery >= 3925) {
        return  79;
    } else if (battery >= 3916) {
        return   78;
    } else if (battery >= 3908) {
        return  77;
    } else if (battery >= 3901) {
        return  76;
    } else if (battery >= 3894) {
        return   75;
    } else if (battery >= 3887) {
        return   74;
    } else if (battery >= 3882) {
        return  73;
    } else if (battery >= 3876) {
        return   72;
    } else if (battery >= 3870) {
        return   71;
    } else if (battery >= 3864) {
        return   70;
    } else if (battery >= 3857) {
        return  69;
    } else if (battery >= 3851) {
        return  68;
    } else if (battery >= 3844) {
        return  67;
    } else if (battery >= 3838) {
        return   66;
    } else if (battery >= 3833) {
        return   65;
    } else if (battery >= 3827) {
        return  64;
    } else if (battery >= 3821) {
        return   63;
    } else if (battery >= 3816) {
        return  62;
    } else if (battery >= 3810) {
        return  61;
    } else if (battery >= 3805) {
        return  60;
    } else if (battery >= 3799) {
        return   59;
    } else if (battery >= 3794) {
        return   58;
    } else if (battery >= 3789) {
        return   57;
    } else if (battery >= 3784) {
        return   56;
    } else if (battery >= 3780) {
        return  55;
    } else if (battery >= 3775) {
        return   54;
    } else if (battery >= 3770) {
        return   53;
    } else if (battery >= 3766) {
        return   52;
    } else if (battery >= 3761) {
        return   51;
    } else if (battery >= 3757) {
        return   50;
    } else if (battery >= 3753) {
        return   49;
    } else if (battery >= 3749) {
        return   48;
    } else if (battery >= 3744) {
        return   47;
    } else if (battery >= 3741) {
        return  46;
    } else if (battery >= 3737) {
        return  45;
    } else if (battery >= 3733) {
        return  44;
    } else if (battery >= 3729) {
        return   43;
    } else if (battery >= 3726) {
        return  42;
    } else if (battery >= 3722) {
        return   41;
    } else if (battery >= 3718) {
        return  40;
    } else if (battery >= 3715) {
        return  39;
    } else if (battery >= 3711) {
        return   38;
    } else if (battery >= 3708) {
        return   37;
    } else if (battery >= 3705) {
        return   36;
    } else if (battery >= 3702) {
        return   35;
    } else if (battery >= 3699) {
        return   34;
    } else if (battery >= 3696) {
        return   33;
    } else if (battery >= 3692) {
        return   32;
    } else if (battery >= 3689) {
        return   31;
    } else if (battery >= 3685) {
        return   30;
    } else if (battery >= 3682) {
        return   29;
    } else if (battery >= 3678) {
        return   28;
    } else if (battery >= 3674) {
        return  27;
    } else if (battery >= 3670) {
        return  26;
    } else if (battery >= 3666) {
        return  25;
    } else if (battery >= 3661) {
        return  24;
    } else if (battery >= 3656) {
        return  23;
    } else if (battery >= 3651) {
        return   22;
    } else if (battery >= 3646) {
        return  21;
    } else if (battery >= 3642) {
        return  20;
    } else if (battery >= 3637) {
        return  19;
    } else if (battery >= 3633) {
        return  18;
    } else if (battery >= 3628) {
        return   17;
    } else if (battery >= 3624) {
        return  16;
    } else if (battery >= 3618) {
        return   15;
    } else if (battery >= 3613) {
        return   14;
    } else if (battery >= 3606) {
        return   13;
    } else if (battery >= 3599) {
        return   12;
    } else if (battery >= 3591) {
        return   11;
    } else if (battery >= 3581) {
        return   10;
    } else if (battery >= 3569) {
        return   9;
    } else if (battery >= 3553) {
        return   8;
    } else if (battery >= 3535) {
        return   7;
    } else if (battery >= 3508) {
        return   6;
    } else if (battery >= 3474) {
        return   5;
    } else if (battery >= 3435) {
        return   4;
    } else if (battery >= 3379) {
        return   3;
    } else if (battery >= 3315) {
        return   2;
    } else if (battery >= 3210) {
        return   1;
    }
    return   0;
    
    
    
  
        
   
}



+(NSData *)oemAesDecreat:(NSData *)snData Company:(NSString *)company R1:(NSData *)r1
{
    // 解密
    NSData *resData = nil;
    char outBytes[r1.length];
    memset(outBytes, 0, r1.length);
    int ret = aes128_decrypt((char *)[snData bytes], snData.length,
                             (char *)[company cStringUsingEncoding:NSASCIIStringEncoding],
                             company.length,
                             (char *)[r1 bytes],
                             r1.length,
                             outBytes);
    
    if (ret == 0) { // 成功
        resData = [NSData dataWithBytes:outBytes length:r1.length];
    }
    
    return resData;
}


@end
